package com.lich.service;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.lich.dao.ClientFunctionMapper;
/**
 * @description 功能统计
 * @date 2016年9月18日
 * @author lich
 */
import com.lich.dao.FunctionStatisticMapper;
import com.lich.entity.FunctionStatistic;
import com.lich.entity.vo.FunctionStatisticResult;

/**
 * @description 功能统计
 * @date 2016年9月19日
 * @author lich
 */
@Service
public class FunctionStatisticService {
	@Resource
	FunctionStatisticMapper functionStatisticMapper;
	@Resource
	ClientFunctionMapper clientFunctionMapper;

	/**
	 * @description 获取某段时间内所有功能被使用的总数
	 * @date 2016年9月19日
	 * @author lich
	 * @param minDate
	 * @param maxDate
	 * @return
	 */
	public List<FunctionStatisticResult> getTotalByDate(String productId, Date minDate, Date maxDate) {
		return functionStatisticMapper.selectTotalByDate(productId, minDate, maxDate);
	}

	/**
	 * @description 添加前一天的统计数据
	 * @date 2016年9月20日
	 * @author lich
	 * @param usageDate
	 * @return
	 */
	@Transactional(rollbackFor = Exception.class)
	public int addPreviousDayStatistic(Date usageDate) {
		List<FunctionStatistic> functionStatistics = clientFunctionMapper.selectPreviousDayStatistic(usageDate);
		for (FunctionStatistic fs : functionStatistics) {
			int fsResult = functionStatisticMapper.insert(fs);
			if (fsResult < 0)
				return 0;
		}
		return 1;
	}
}
